import Vue from 'vue'
import App from './App.vue'
import router from './routers/index';
import store from '@/vuex/store';
import VueRouter from "vue-router";
import moment from 'moment';
import '@/assets/style/resets.css';
import 'element-ui/lib/theme-chalk/index.css';
import '@/assets/style/global.css';
// 按需引入 element-ui
import {Container,Header,Aside,Main,Form,FormItem,Input,Button,Row,Col,Radio,DatePicker,Message,Table,TableColumn,Image,Pagination} from 'element-ui';

// 注册全局的面包屑导航
import BreadCrumb from '@/components/commons/BreadCrumb.vue'

// 引入echarts
import echarts from 'echarts';
// 将其放到Vue的原型对象上
Vue.prototype.$echarts  = echarts;

// 将其放到Vue的原型对象上
Vue.prototype.$message = Message;
// 将时间格式处理函数放到原型对象上供所有的组件使用
Vue.prototype.$moment = moment;

// VueRouter  3版本之后的都是 升级后变为了promise对象，重复点击路由报错 push replace
// 统一处理catch
const originPush = VueRouter.prototype.push;
VueRouter.prototype.push = function push(location,onResolve,onReject){
  if(onResolve || onReject) return originPush.call(this,location,onResolve,onReject)
  return originPush.call(this,location).catch(err=>err);
}

const originReplace = VueRouter.prototype.replace;
VueRouter.prototype.replace = function replace(location,onResolve,onReject){
  if(onResolve || onReject) return originReplace.call(this,location,onResolve,onReject)
  return originReplace.call(this,location).catch(err=>err);
}




// 将vuex的store对象放到Vue  
Vue.store = store;

Vue.config.productionTip = false
// Vue.prototype.$Message = Message;
// 进行全局注册
Vue.use(Container);
Vue.component(Header.name,Header);
Vue.use(Aside);
Vue.use(Main);
Vue.use(Form);
Vue.use(FormItem);
Vue.use(Input);
Vue.use(Button);
Vue.use(Row);
Vue.use(Col);
Vue.use(Radio);
Vue.use(DatePicker);
Vue.use(Table);
Vue.use(TableColumn);
Vue.use(Image);
Vue.use(Pagination);

// 注册面包屑导航
Vue.component("BreadCrumb",BreadCrumb);
new Vue({
  store,
  router,
  render: h => h(App),
}).$mount('#app')


/* 
当配置文件更改脚手架重新启动

使用路径别名时需要注意问题
引入图片需要特殊注意
引入图片的方式有两种一种是背景图 一种是img src
当使用别名是该正常替换就正常替换即可，对于图片 在@前加~

问题@后面自定提醒弹出路径 而你们不自动弹出路径
不自动弹出路径的安装插件 path intellisense
https://blog.csdn.net/u010358168/article/details/107072955
配置 path intellisense


*/

/* 
需求：必须登录后才能进入学生信息录入和学生信息查询及成绩分析页面  没有登录不能进入





*/